﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Librerias;
using System.Collections;

namespace eCampusWebv2
{
    public partial class WFAsignatura : System.Web.UI.Page
    {
        
            ENAsignatura asig = new ENAsignatura();
            // no nos importa el usuario emisor, importa el receptor que es la asignatura
            ENMensaje mens = new ENMensaje("");
            ENNoticias nots = new ENNoticias();
            ENUsuario usu = new ENUsuario();
            DataTable dtNots, dtMens;
            ArrayList paneles = new ArrayList();


        protected void Page_Load(object sender, EventArgs e)
        {
            // en ppio debería llegarle por paámetro la asignatura seleccionada
            lbNombreAsignatura.Text = asig.Nombre;
            // Provisional
            lbNombreAsignatura.Text = "Informática Básica";
            mens.Receptor = lbNombreAsignatura.Text;
            Panel[] p = new[] { pnMuro, pnMateriales, pnProfesores, pnEventos };
            paneles.AddRange(p);
            ocultaPaneles();
            pnMuro.Visible = true;
            try
            {               
                llenarNoticias();
                llenarMuro();
                llenarMateriales();
                llenarEventos();
                llenarProfesores();               
            }
            catch (Exception ex)
            {
                
            }
        }

        private void llenarMuro()
        {
            dtMens = mens.BandejaEntrada();
            gvMuroAsignatura.DataSource = dtMens;
            gvMuroAsignatura.DataBind();
        }

        private void llenarNoticias()
        {
            try
            {
                dtNots = nots.dimeNoticiasSegunUnaAsignatura(lbNombreAsignatura.Text);
                
                if (dtNots.Rows.Count>0)
                lbNoticiaArriba.Text = dtNots.Rows[0]["menMensaje"].ToString();
                if (dtNots.Rows.Count >1)
                lbNoticiaAbajo.Text = dtNots.Rows[1]["menMensaje"].ToString();
            }
            catch (Exception ex)
            {

            }
           
        }

        private void llenarEventos()
        {
            try
            {

            }
            catch (Exception ex)
            {

            }
        }

        private void llenarProfesores()
        {
            try
            {
                
            }
            catch (Exception ex)
            {

            }
        }
        private void llenarMateriales()
        {
            try
            {

            }
            catch (Exception ex)
            {

            }

        }
        private void actualizarMuro(object sender, EventArgs e)
        {
            try
            {
                mens.Asunto = "";
                mens.Emisor = "El de la sesión";
                mens.Receptor = "la asignatura en el lbNombreAsignatura";
                //mens.ValidarStrings(tbMensaje.Text);
                mens.Mensaje = tbMensaje.Text;
                mens.Fecha = DateTime.Now;
                mens.Archivo = "";
                mens.Puntuacion = 0;
                
                //mens.Enviar();
            }
            catch(Exception ex)
            {
                lbNoticiaAbajo.Text = ex.Message;
            }

        }
        private void ocultaPaneles()
        {
            foreach (Panel p in paneles)
            {
                p.Visible = false;
            }
        }
        private void visualizarMuro(object sender, EventArgs e)
        {
            ocultaPaneles();
            pnMuro.Visible = true;
        }
        private void visualizarEventos(object sender, EventArgs e)
        {
            ocultaPaneles();
            pnEventos.Visible = true;
        }
        private void visualizarProfesores(object sender, EventArgs e)
        {
            ocultaPaneles();
            pnProfesores.Visible = true;
        }
        private void visualizarMateriales(object sender, EventArgs e)
        {
            ocultaPaneles();
            pnMateriales.Visible = true;
        }



        protected void btMuro_Click(object sender, EventArgs e)
        {
            visualizarMuro(sender, e);
        }

        protected void btEventos_Click(object sender, EventArgs e)
        {
            visualizarEventos(sender, e);
        }

        protected void btMateriales_Click(object sender, EventArgs e)
        {
            visualizarMateriales(sender, e);
        }

        protected void btProfesores_Click(object sender, EventArgs e)
        {
            visualizarProfesores(sender, e);
        }


    }
}